package com.laf.manage.domain.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.laf.common.annotation.Excel;
import com.laf.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 领取记录对象 tb_receive_record
 *
 * @author zian
 * @date 2024-11-01
 */
@Data
@ToString
@NoArgsConstructor
@Accessors(chain = true)
@TableName(value = "tb_receive_record" , autoResultMap = true)
@ApiModel(value = "ReceiveRecord", description = "领取记录实体")
public class ReceiveRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(type= IdType.AUTO)
    @ApiModelProperty("主键")
    private Long id;

    /** 物品id */
    @ApiModelProperty("物品id")
    private Long itemId;

    /** 物品名字 */
    @Excel(name = "物品名字")
    @ApiModelProperty("物品名字")
    private String itemName;

    /** 物品图片 */
    @Excel(name = "物品图片")
    @ApiModelProperty("物品图片")
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<String> itemUrls;

    /** 拾取地点 */
    @Excel(name = "拾取地点")
    @ApiModelProperty("拾取地点")
    private String pickUpLocation;

    /** 分类id */
    @Excel(name = "分类id")
    @ApiModelProperty("分类id")
    private Long categoryId;

    /** 领取用户的id */
    @ApiModelProperty("领取用户的id")
    private Long userId;

    /** 点位id */
    @Excel(name = "点位id")
    @ApiModelProperty("点位id")
    private Long pointId;

    /** 凭证类型 ( 1 身份证 2 人脸图片) */
    @Excel(name = "凭证类型 ( 1 身份证 2 人脸图片)")
    @ApiModelProperty("凭证类型 ( 1 身份证 2 人脸图片)")
    private String proofType;

    /** 领取人名字 (从认证信息中获取，或者用户提供) */
    @Excel(name = "领取人名字 (从认证信息中获取，或者用户提供)")
    @ApiModelProperty("领取人名字 (从认证信息中获取，或者用户提供)")
    private String realName;

    /** 凭证图片 */
    @Excel(name = "凭证图片")
    @ApiModelProperty("凭证图片")
    private String proofUrl;

    /** 录音文件 */
    @ApiModelProperty("录音文件")
    private String recordingData;

    /** 录音文本 */
    @ApiModelProperty("录音文本")
    private String recordingToText;

}
